A digital camera is a component often included in commercial electronic media device platforms. Digital cameras are now available in wearable form factors (e.g., image capture earpieces, image capture headsets, image capture eyeglasses, etc.), as well as embedded within smartphones, tablet computers, and notebook computers, etc. Multiple cameras are now often embedded in the same device platform. For such multi-camera platforms, two or more cameras may each capture or acquire an image frame at one instant in time (e.g., in a stereo image mode). With synchronous multi-camera image capture, computer vision techniques may be employed to process the stereo image sets and generate novel output effects. For example, a number of computational imaging tasks, such as depth mapping, depth dependent blurring, image stitching, and 3D scene object measurement, can be performed based on the image frame data collected by a multi-camera platform. However, the accuracy of many of these tasks relies heavily on calibration parameters of the cameras. Camera calibration is therefore an important interface between captured images and a computer vision algorithm.
Camera calibration estimates the intrinsic geometric properties of a single camera, such as, focal length, pixel pitch, center point etc., which allows for transforming image pixels to metric units (e.g. mm) of a scene. Camera calibration also estimates extrinsic parameters characterizing the relative pose between all pairs of cameras in a multi-camera system. Together, these parameters can be used to accurately compute a 3D reconstruction of the imaged scene, which is an important component driving many of the computational photography applications. An out-of-calibration camera can therefore result in inaccurate 3D reconstructions, and thus affect the performance of these applications.
When multi-camera platforms are manufactured, a calibration is typically performed to determine an accurate estimate of the platform configuration. While such a calibration can be very accurate, the platform configuration can change over time as a result of repeated use and exposure to various external factors that make it unlikely the factory calibration with hold over a camera platform's life cycle. For example, changes in ambient temperature, platform orientation with respect to gravity, and deformations induced by physical impacts can all result in changes to the platform configuration that will induce significant error in computation imaging tasks if performed based calibration parameters that remain fixed at the time of manufacture.
The camera parameter calibrations performed at the time of manufacture are tedious and difficult to duplicate in the field, particularly when the platform is a consumer device (e.g., a smartphone). A dynamic calibration method that uses captured images of natural scenes collected in the field to refine or update the camera calibration parameters is therefore more practical. For dynamic calibration, the target scene geometry is not known α-priori and is instead computed as part of the camera calibration process. The accuracy of dynamic calibration is dependent upon the number of feature points in a captured scene, and their 3D distribution within the scene. Capturing a scene in the field that has a suitable feature count, and distribution of feature points, is not easy. This is particularly an issue for consumer device platforms where the environment in which the platform is used is unpredictable.